/*
*	Copyright (C) 2014  Julio Montes, Mario Carrillo
*	
*	Julio Montes e-mail: imc.coder@gmail.com 
*
*	Mario Carrillo e-mail: mario_90ago@live.com.mx
*
*	BSD 3-Clause License
*/

#ifndef ALLIANCE_ARGUMENTCTRL_H
#define ALLIANCE_ARGUMENTCTRL_H

#include <wx/wx.h>
#include "alliance/include/toolctrl.h"
#include "sdk/include/filecfg.h"

namespace alliance
{
    class ArgumentCtrl : public ToolCtrl
    {
    public:
        ArgumentCtrl( wxWindow *parent, wxWindowID id );
        virtual ~ArgumentCtrl();

        bool Load( const wxString &key, const sdk::vectorAttributesString &vectorAttributes );

        virtual bool IsOk() const;

        virtual wxString GetText() const;

        virtual void SetText( const wxString &text );

        bool IsAddedToGeneratedFiles() const;

        bool HasDirFiles() const;

        bool HasProjectFiles() const;

        bool HasGeneratedFiles() const;

        bool HasInputField() const;

        const wxString &GetType() const;

        void ClearFiles();

        void AddFiles( const wxArrayString &arrayFiles );
    protected:
    private:
        wxStaticText *m_staticText;
        wxComboBox *m_comboBox;
        wxTextCtrl *m_textCtrl;
        bool m_empty;
        wxString m_fileFilter;
        wxString m_type;

        bool m_hasDirFiles;
        bool m_hasProjectFiles;
        bool m_hasGeneratedFiles;
        bool m_addToGeneratedFiles;
    };
}
#endif // ALLIANCE_ARGUMENTCTRL_H
